import request from '@/utils/request';

const TEMP_BASE_URL = '/admin/sms/config/send';
const INTERFACE_BASE_URL = '/admin/sms/config/interface';

const ConfigAPI = {
  /******************** 短信发送配置 ************************/
  // 新增
  addTemplate(data: any) {
    return request({
      url: `${TEMP_BASE_URL}`,
      method: 'post',
      data,
    });
  },
  // 更新
  editTemplate(data: any) {
    return request({
      url: `${TEMP_BASE_URL}/${data.id}/update`,
      method: 'post',
      data,
    });
  },
  // 删除
  delTemplate(id: string | number) {
    return request({
      url: `${TEMP_BASE_URL}/${id}/delete`,
      method: 'post',
    });
  },
  // 切换短信发送配置状态
  toggleConfigStatus(id: string | number) {
    return request({
      url: `${TEMP_BASE_URL}/${id}/toggle`,
      method: 'post',
    });
  },
  // 发送测试短信
  sendTestMsg(id: string | number) {
    return request({
      url: `${TEMP_BASE_URL}/${id}/test`,
      method: 'post',
    });
  },
  // 测试短信发送配置
  configTestMsg(id: string | number) {
    return request({
      url: `${TEMP_BASE_URL}/${id}/test-template`,
      method: 'post',
    });
  },
  // 根据ID获取短信发送配置
  getConfigById(id: string | number) {
    return request({
      url: `${TEMP_BASE_URL}/${id}`,
      method: 'get',
    });
  },
  // 分页查询短信发送配置
  getTemplateList(data: any) {
    return request({
      url: `${TEMP_BASE_URL}/page`,
      method: 'get',
      params: data,
    });
  },
  // 获取短信发送配置列表(无分页)
  getTemplateListAll(data: any) {
    return request({
      url: `${TEMP_BASE_URL}/list`,
      method: 'get',
      params: data,
    });
  },

  /******************** 短信接口配置 ************************/
  // 获取短信接口配置
  getInterface() {
    return request({
      url: `${INTERFACE_BASE_URL}`,
      method: 'get',
    });
  },
  // 更新短信接口配置
  updateInterface(data: any) {
    return request({
      url: `${INTERFACE_BASE_URL}`,
      method: 'post',
      data: data,
    });
  },
  // 测试短信接口连接
  testInterface() {
    return request({
      url: `${INTERFACE_BASE_URL}/test`,
      method: 'post',
    });
  },
  // 查询短信发送任务结果
  getTaskResult(taskId: string | number) {
    return request({
      url: `/admin/sms/config/task/${taskId}/result`,
      method: 'get',
    });
  },
};

export default ConfigAPI;
